package org.aepscolombia.platform.models.entity;
// Generated Apr 8, 2014 9:37:27 AM by Hibernate Tools 3.2.1.GA


import java.util.Date;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Monitoring generated by hbm2java
 */
@Entity
@Table(name="monitoring")
public class Monitoring  implements java.io.Serializable {


     private Integer idMon;
     private ProductionEvents productionEvents;
     private MonitoringTypes monitoringTypes;
     private Date dateMon;
     private Boolean monitorPestsMon;
     private Boolean monitorDiseasesMon;
     private Boolean monitorWeedsMon;
     private Boolean status;
     private Integer createdBy;
     private Diseases diseases;
     private Weeds weeds;
     private Pests pests;
     private Double perImpactPestMon;
     private Double perImpactDiseaseMon;
     private Double perImpactWeedMon;

    public Monitoring() {
    }

	
    public Monitoring(ProductionEvents productionEvents) {
        this.productionEvents = productionEvents;
    }
    public Monitoring(Diseases diseases, Weeds weeds, Pests pests, Double perImpactDiseaseMon, Double perImpactWeedMon, Double perImpactPestMon, ProductionEvents productionEvents, MonitoringTypes monitoringTypes, Date dateMon, Boolean monitorPestsMon, Boolean monitorDiseasesMon, Boolean monitorWeedsMon, Boolean status, Integer createdBy) {
       this.diseases = diseases;
       this.weeds = weeds;
       this.pests = pests;
       this.perImpactDiseaseMon = perImpactDiseaseMon;
       this.perImpactWeedMon = perImpactWeedMon;
       this.perImpactPestMon = perImpactPestMon;
       this.productionEvents = productionEvents;
       this.monitoringTypes = monitoringTypes;
       this.dateMon = dateMon;
       this.monitorPestsMon = monitorPestsMon;
       this.monitorDiseasesMon = monitorDiseasesMon;
       this.monitorWeedsMon = monitorWeedsMon;
       this.status = status;
       this.createdBy = createdBy;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)
    
    @Column(name="id_mon", unique=true, nullable=false)
    public Integer getIdMon() {
        return this.idMon;
    }
    
    public void setIdMon(Integer idMon) {
        this.idMon = idMon;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_production_event_mon", nullable=false)
    public ProductionEvents getProductionEvents() {
        return this.productionEvents;
    }
    
    public void setProductionEvents(ProductionEvents productionEvents) {
        this.productionEvents = productionEvents;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="type_mon")
    public MonitoringTypes getMonitoringTypes() {
        return this.monitoringTypes;
    }
    
    public void setMonitoringTypes(MonitoringTypes monitoringTypes) {
        this.monitoringTypes = monitoringTypes;
    }
    
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_disease_mon")
    public Diseases getDiseases() {
        return this.diseases;
    }
    
    public void setDiseases(Diseases diseases) {
        this.diseases = diseases;
    }
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_weed_mon")
    public Weeds getWeeds() {
        return this.weeds;
    }

    public void setWeeds(Weeds weeds) {
        this.weeds = weeds;
    }
    
@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_pest_mon")
    public Pests getPests() {
        return this.pests;
    }
    
    public void setPests(Pests pests) {
        this.pests = pests;
    }
    
    @Column(name="percentage_impact_pest_mon", precision=22, scale=0)
    public Double getPerImpactPestMon() {
        return this.perImpactPestMon;
    }
    
    public void setPerImpactPestMon(Double perImpactPestMon) {
        this.perImpactPestMon = perImpactPestMon;
    }
    
    @Column(name="percentage_impact_disease_mon", precision=22, scale=0)
    public Double getPerImpactDiseaseMon() {
        return this.perImpactDiseaseMon;
    }
    
    public void setPerImpactDiseaseMon(Double perImpactDiseaseMon) {
        this.perImpactDiseaseMon = perImpactDiseaseMon;
    }
    
    @Column(name="percentage_impact_weed_mon", precision=22, scale=0)
    public Double getPerImpactWeedMon() {
        return this.perImpactWeedMon;
    }
    
    public void setPerImpactWeedMon(Double perImpactWeedMon) {
        this.perImpactWeedMon = perImpactWeedMon;
    }
    
    @Temporal(TemporalType.TIMESTAMP)
    @Column(name="date_mon", length=19)
    public Date getDateMon() {
        return this.dateMon;
    }
    
    public void setDateMon(Date dateMon) {
        this.dateMon = dateMon;
    }
    
    @Column(name="monitor_pests_mon")
    public Boolean getMonitorPestsMon() {
        return this.monitorPestsMon;
    }
    
    public void setMonitorPestsMon(Boolean monitorPestsMon) {
        this.monitorPestsMon = monitorPestsMon;
    }
    
    @Column(name="monitor_diseases_mon")
    public Boolean getMonitorDiseasesMon() {
        return this.monitorDiseasesMon;
    }
    
    public void setMonitorDiseasesMon(Boolean monitorDiseasesMon) {
        this.monitorDiseasesMon = monitorDiseasesMon;
    }
    
    @Column(name="monitor_weeds_mon")
    public Boolean getMonitorWeedsMon() {
        return this.monitorWeedsMon;
    }
    
    public void setMonitorWeedsMon(Boolean monitorWeedsMon) {
        this.monitorWeedsMon = monitorWeedsMon;
    }
    
    @Column(name="status")
    public Boolean getStatus() {
        return this.status;
    }
    
    public void setStatus(Boolean status) {
        this.status = status;
    }
    
    @Column(name="created_by")
    public Integer getCreatedBy() {
        return this.createdBy;
    }
    
    public void setCreatedBy(Integer createdBy) {
        this.createdBy = createdBy;
    }

}


